package com.tucy.logistics.security.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tucy.logistics.common.base.BasePageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * author: tcy
 * createDate: 2023/9/28
 * description: 用户查询dto
 */
@Data
public class UserDto extends BasePageQuery {

    /**
     * 用户id
     */
    @NotNull(message="[用户id]不能为空")
    @ApiModelProperty("用户id")
    private Long id;
    /**
     * 用户账号
     */
    @NotBlank(message="[用户账号]不能为空")
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("用户账号")
    @Length(max= 40,message="编码长度不能超过40")
    private String username;
    /**
     * 用户昵称
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("用户昵称")
    @Length(max= 40,message="编码长度不能超过40")
    private String nickname;
    /**
     * 手机
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("手机")
    @Length(max= 40,message="编码长度不能超过40")
    private String mobile;
    /**
     * 性别(0-女，1-男）
     */
    @ApiModelProperty("性别(0-女，1-男）")
    private Integer gender;
    /**
     * 生日
     */
    @ApiModelProperty("生日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date birthday;
    /**
     * 城市
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("城市")
    @Length(max= 40,message="编码长度不能超过40")
    private String city;
    /**
     * 职业
     */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("职业")
    @Length(max= 40,message="编码长度不能超过40")
    private String job;
    /**
     * 角色id
     */
    @ApiModelProperty("角色id")
    private Long roleId;
    /**
     * 组织id
     */
    @ApiModelProperty("组织id")
    private Long organizationId;

}
